package com.hzp.micromall.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzp.micromall.common.core.api.CommonPage;
import com.hzp.micromall.content.entity.PrefrenceArea;
import com.hzp.micromall.content.vo.QueryParams;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 优选专区 服务类
 * </p>
 *
 * @author houzipeng
 * @since 2022-03-08 10:15:14
 */
public interface PrefrenceAreaService extends IService<PrefrenceArea> {

    /**
     * 添加优选专区
     * @param area
     * @return
     */
    @Transactional
    int create(PrefrenceArea area);

    /**
     * 获取所有优选专区
     */
    List<PrefrenceArea> listAll();

    /**
     * 分页获取优选专区信息
     * @param params
     * @return
     */
//    CommonPage<PrefrenceArea> getPage(QueryParams params);
    CommonPage<PrefrenceArea> getPage(String keyword, Integer showStatus, String startTime, String endTime, Integer pageNum, Integer pageSize);

    /**
     * 更新优选专区信息
     * @param id
     * @param prefrenceArea
     * @return
     */
    @Transactional
    int update(Long id, PrefrenceArea prefrenceArea);

    /**
     * 修改优选专区显示状态
     * @param ids
     * @param newShowStatus
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    int updateShowStatus(List<Long> ids, Integer newShowStatus);

    /**
     * 根据id删除优选专区
     * @param ids
     * @return
     */
    @Transactional
    int delete(List<Long> ids);
}
